package com.gzhryc.net_marketing.cloud.business.dao.db;

import java.util.Date;

import com.gzhryc.jdbc.annotaion.Column;
import com.gzhryc.jdbc.annotaion.Id;
import com.gzhryc.jdbc.annotaion.Table;
import com.gzhryc.net_marketing.cloud.logistics.ELogisticsState;

@Table(name = "pay_goods_order_logistics")
public class PayGoodsOrderLogistics {

    @Id(auto = false)
    @Column(name="trade_no",notNull = true,length = 32)
    protected String tradeNo;

    @Column(name = "logistics_company_id",note = "物流公司")
    protected String logisticsCompanyId;

    @Column(name = "logistics_trade_mo",note = "物流单号")
    protected String logisticsTradeNo;

    @Column(name = "logistics_content", type = "TEXT",note = "物流信息")
    protected String logisticsContent;

    @Column(name = "logistics_state",defVal = "1",note = "物流状态")
    protected Integer logisticsState;

    @Column(name = "last_update_date",note = "物流最后更新时间")
    protected Date lastUpdateDate;

    @Column(name = "lock_state",defVal = "1",note = "修改锁定")
    protected Integer lockState;

    @Column(name = "update_date", autoUpdateTime = true)
    protected Date updateDate;

    @Column(name = "create_date")
    protected Date createDate;

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public String getLogisticsCompanyId() {
        return logisticsCompanyId;
    }

    public void setLogisticsCompanyId(String logisticsCompanyId) {
        this.logisticsCompanyId = logisticsCompanyId;
    }

    public String getLogisticsTradeNo() {
        return logisticsTradeNo;
    }

    public void setLogisticsTradeNo(String logisticsTradeNo) {
        this.logisticsTradeNo = logisticsTradeNo;
    }

    public String getLogisticsContent() {
        return logisticsContent;
    }

    public void setLogisticsContent(String logisticsContent) {
        this.logisticsContent = logisticsContent;
    }

    public Integer getLogisticsState() {
        return logisticsState;
    }

    public void setLogisticsState(Integer logisticsState) {
        this.logisticsState = logisticsState;
    }

    public Date getLastUpdateDate() {
        return lastUpdateDate;
    }

    public void setLastUpdateDate(Date lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Integer getLockState() {
        return lockState;
    }

    public void setLockState(Integer lockState) {
        this.lockState = lockState;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getLogisticsStateName(){
        return ELogisticsState.note(this.logisticsState);
    }
}
